﻿
# a template program for NOKIA 3310 JAM 2
# SCHIP has a slightly larger display than the Nokia,
# so we'll begin by masking off the unusable regions.

:const WIDTH  84
:const HEIGHT 48
:const TOP     8
:const LEFT   22
:calc  BOTTOM { TOP  + HEIGHT }
:calc  RIGHT  { LEFT + WIDTH  }

: main
	# init display border
	hires
	nokia-clear

	# draw simcard
	loop
		i  := simcard
		:calc simcard-x  { LEFT + 10 }       v0 := simcard-x
		:calc simcard-y1 { TOP  + 12 }       v1 := simcard-y1
		:calc simcard-y2 { simcard-y1 + 16 } v2 := simcard-y2
		v3 := 32
		loop
			sprite v0 v1 0  i += v3
			sprite v0 v2 0  i += v3
			v0 += 16
			:calc simcard-end { simcard-x + 3 * 16 }
			if v0 != simcard-end then
		again
		
		vf := 60
		delay := vf
		loop
			vf := delay
			if vf != 0 then
		again
	again

: nokia-clear
	clear
	i  := 12-block
	v0 := LEFT
	v1 := TOP
	:calc t1 { TOP + 16 } v2 := t1
	:calc t2 { TOP + 32 } v3 := t2
	loop
		sprite v0 v1 0
		sprite v0 v2 0
		sprite v0 v3 0
		v0 += 12
		if v0 != RIGHT then
	again
;

: 12-block
	0xFF 0xF0 0xFF 0xF0 0xFF 0xF0 0xFF 0xF0
	0xFF 0xF0 0xFF 0xF0 0xFF 0xF0 0xFF 0xF0
	0xFF 0xF0 0xFF 0xF0 0xFF 0xF0 0xFF 0xF0
	0xFF 0xF0 0xFF 0xF0 0xFF 0xF0 0xFF 0xF0

: simcard
	0xC0 0x00 0xC0 0x00 0xC0 0x00 0xC0 0x00 0xDE 0x39 0xDF 0x7B 0xDB 0x63 0xDB 0x33
	0xDB 0x1B 0xDB 0x7B 0xDB 0x71 0x00 0x00 0x00 0x00 0x76 0x80 0xF6 0xC1 0xC6 0xE3
	0xC6 0xF7 0xE6 0xFF 0x76 0xDD 0x36 0xC9 0x36 0xC1 0x36 0xC1 0xF6 0xC1 0xE6 0xC1
	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
	0x00 0x00 0x00 0x00 0x00 0x60 0x00 0x60 0xCC 0x70 0xEF 0x70 0x6F 0x60 0xEC 0x60
	0x0C 0x60 0xEC 0x70 0xEC 0x30 0x00 0x00 0x00 0x00 0x80 0x00 0x80 0x00 0x80 0x00
	0x80 0x00 0x87 0x79 0x8F 0x7D 0x8C 0x1D 0x8C 0x7D 0x8C 0x6D 0x8F 0x7D 0x87 0x7D
	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x80
	0x01 0x80 0x81 0x80 0xE7 0x80 0xEF 0x80 0x8D 0x80 0x8D 0x80 0x8F 0x80 0x87 0x80
	0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
